package com.luom.fsp.model.vo;

import cn.hutool.json.JSONUtil;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.luom.fsp.model.entity.UserCoupon;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 用户-优惠券关联表视图
 *
*/
@Data
public class UserCouponVO implements Serializable {

    /**
     * 记录id
     */
    private Long id;

    /**
     * 用户id
     */
    private Long userId;

    private UserVO user;

    /**
     * 优惠券id
     */
    private Long couponId;

    private CouponVO coupon;

    /**
     * 状态（unused:未使用，used:已使用，expired:过期）
     */
    private String status;

    /**
     * 使用该券的订单id
     */
    private Long orderId;

    /**
     * 领取时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 封装类转对象
     *
     * @param userCouponVO
     * @return
     */
    public static UserCoupon voToObj(UserCouponVO userCouponVO) {
        if (userCouponVO == null) {
            return null;
        }
        UserCoupon userCoupon = new UserCoupon();
        BeanUtils.copyProperties(userCouponVO, userCoupon);
        return userCoupon;
    }

    /**
     * 对象转封装类
     *
     * @param userCoupon
     * @return
     */
    public static UserCouponVO objToVo(UserCoupon userCoupon) {
        if (userCoupon == null) {
            return null;
        }
        UserCouponVO userCouponVO = new UserCouponVO();
        BeanUtils.copyProperties(userCoupon, userCouponVO);
        return userCouponVO;
    }
}
